With the rapid expansion of small access points, using both licensed and unlicensed spectrum, and new technologies such as 5G cellular, in many instances a mobile wireless device will have the opportunity to connect to alternative wireless networks. A client device may receive multiple IP addresses from different networks and need to communicate through IP address transition.
Some approaches for leveraging multiple networks, allow a device to retain the same IP address while roaming such as with Locator/ID Separation Protocol (LISP). The LISP approach depends on using a 4 tuple identifier (source and destination IP, port). This approach may be relatively slow, may involve a relatively high amount of overhead, and may result in gaps in communications when transitioning between networks.
In an attempt to address some of the problems with existing protocols some protocols have been designed with support of multiplexed communications in mind. QUIC (Quick UDP Internet Connections) is a relatively recent transport layer network protocol which supports a set of multiplexed connections between two end points. QUIC connections are identified by a 64 bit connection ID, randomly generated by the client. In contrast, TCP connections are identified by a 4-tuple of source address, source port, destination address and destination port. This means that in the case of TCP connections if a client changes IP addresses (for example, by moving out of Wi-Fi range and switching over to cellular) or ports (if a NAT box loses and rebinds the port association), any active TCP connections are no longer valid. In contrast, when a QUIC client changes IP addresses, it can continue to use the old connection ID from the new IP address without interrupting any in-flight requests.
In a QUIC system a client is the endpoint initiating a QUIC connection. A QUIC Server is the endpoint accepting incoming QUIC connection. An Endpoint is the client or server end of a connection. A QUIC stream is a bi-directional flow of bytes across a logical channel within a QUIC connection. In a QUIC system a connection is a conversation between two QUIC endpoints with a single encryption context that multiplexes streams within it. A QUIC Connection ID is the identifier for a QUIC connection. As should be appreciated multiple streams may correspond to the same connection and thus use the same connection ID. For a discussion of the QUIC protocol see IETF Network Working Group Internet-Draft dated Jan. 13, 2016 and titled: “QUIC: A UDP-Based Secure and Reliable Transport for HTTP/2” which can be accessed at https://tools.ietf.org/html/draft-tsvwg-quic-protocol-02.
Which connection ID based protocols like QUIC can facilitate the use of multiple links with different streams potentially going over different links. The protocols fail to address many problems associated with the use of different links including the technical problem of determining the quality of individual links at a given time, which link or links should be used at a given time. Without knowledge of link quality it is difficult to determine how to efficiently use one or more alternative links that may be available for a given connection.
Given that communications resources are limited, it should be appreciated that there is need for methods and/or apparatus which would allow for link quality to be determined and/or which can be used to facilitate the selection of links to use between two end points when a plurality of links are available.